package miao.demo;

import miao.demo.dao.BookDao;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
import org.springframework.context.support.FileSystemXmlApplicationContext;

/*
    目标：掌握容器的创建方式和bean的获取
 */
public class APP {
    public static void main(String[] args) {
        /*
            容器的创建的两种方式
                -加载类路径下的配置文件
                -从文件系统下加载配置文件 绝对路径
             获取bean的三种方式
                -使用bean名称获取 -->建议使用id 唯一
                -使用bean名称获取并指定类型 -->解决强转的问题
                -使用bean类型获取 -->类型需要唯一
         */
        //1.加载类路径下的配置文件
        //ApplicationContext ctx = new ClassPathXmlApplicationContext("applicationContext.xml");
        //2.从文件系统下加载配置文件 绝对路径
        ApplicationContext ctx = new FileSystemXmlApplicationContext("D:\\Java_code\\javaSpring\\spring_10_container\\src\\main\\resources\\applicationContext.xml");


        //1.使用bean名称获取
        //BookDao bookDao = (BookDao) ctx.getBean("bookDao");

        //2.使用bean名称获取并指定类型
        //BookDao bookDao = ctx.getBean("bookDao", BookDao.class);

        //3.使用bean类型获取
        BookDao bookDao = ctx.getBean(BookDao.class);
        bookDao.save();
    }
}
